<template>
    <svg 
      :class="['icon', iconClass]" 
      :style="{ width: size + 'px', height: size + 'px', color }"
      aria-hidden="true"
      @click="$emit('click', $event)"
    >
      <use :xlink:href="`#${iconClass}`"></use>
    </svg>
  </template>
  
  <script setup>
  
  // 定义组件属性
  const props = defineProps({
    // 图标类名（阿里云图标库中的图标名称）
    iconClass: {
      type: String,
      required: true
    },
    // 图标大小
    size: {
      type: Number,
      default: 16
    },
    // 图标颜色
    color: {
      type: String,
      default: ''
    }
  })
  
  // 定义事件
  const emit = defineEmits(['click'])
  </script>
  
  <style scoped>
  .icon {
    width: 1em;
    height: 1em;
    vertical-align: -0.15em;
    fill: currentColor;
    overflow: hidden;
  }
  </style>
      